// pages/profile/index.ts
const pageStack = getCurrentPages()
const app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    avatar: '',
    nickName: ''
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad() {

    this.setData({
      ...app.userProfile
    })
  },
  getUserAvatarFn(e) {
    console.log(e);
    // 1. 获取头像 显示在页面里
    this.setData({
      avatar: e.detail.avatarUrl
    })
    // 2. 上传头像
    wx.uploadFile({
      url: wx.http.baseURL + '/upload',
      filePath: e.detail.avatarUrl,
      name: 'file',
      formData: {
        'type': 'avatar'
      },
      header: {
        // 需要传token
        Authorization: 'Bearer ' + getApp().token
      },
      success(res) {
        const data = JSON.parse(res.data)
        console.log(data);
        if (data.code !== 10000) return wx.utils.toast('上传头像失败')
        // 可以借助页面栈操作页面 设置之前页面的头像
        pageStack[0].setData({
          avatar: data.data.url
        })
        app.userProfile.avatar = data.data.url
      }
    })
  },
  async getUserNicknameFn(e) {
    console.log(e);
    const nickName = e.detail.value
    if (nickName === '') return
    // 掉接口更新用户昵称
    const res = await wx.http.put('/userInfo', {
      nickName
    })
    // 检查接口是否更新成功
    if (res.code !== 10000) return wx.utils.toast('更新昵称失败')
    // 借助页面栈修改上个页面的昵称
    pageStack[0].setData({
      nickName
    })
    app.userProfile.nickName = nickName
  }
})